/*
 * @Author: 千锋爱佛僧
 * @公众号: 大前端私房菜
 * @Slogan: 千锋精品教程，好学得不像实力派！
 */
/*
 * @Author: 千锋爱佛僧
 * @公众号: 大前端私房菜
 * @Slogan: 千锋精品教程，好学得不像实力派！
 */
import { userLogin, roleGet } from "@/api/user-api";
import router from "@/router"; //router等同于组件中的this.$router
export default {
  namespaced: true,
  state() {
    return {
      userInfo: null,
    };
  },
  mutations: {
    initInfoMute(state, info) {
      state.userInfo = info;
    },
  },
  actions: {
    userLoginAction(context, account) {
      //拿到组件提交的账号密码、向后端发登录请求
      // console.log(account);
      userLogin(account).then(async (res) => {
        console.log("登录成功", res);
        let { roleId } = res.data;
        let role = await roleGet(roleId); //以当前用户的角色id，获取角色权限
        console.log("当前用户的角色数据", role);
        res.data.checkedKeys = role.data.checkedKeys; //给用户信息中，追加权限信息
        context.commit("initInfoMute", res.data); //存入状态机
        localStorage.setItem("vue-admin-2301", JSON.stringify(res.data)); //存入本地存储
        router.push("/"); //登录成功后跳转至主面板
      });
    },
  },
};
